package com.qf.dao;

import com.qf.pojo.Admin;
import com.qf.pojo.User;

import java.sql.SQLException;
import java.util.List;

/**
 *
 * 针对管理的数据访问接口
 */
public interface AdminDao {
    /**
     * 通过管理员名称查询管理员
     * @param name 管理员名称
     * @return 返回的管理实体
     */
    Admin selectAdminByName(String name) throws SQLException;

    /**
     * 查询所有普通用户
     * @return 返回用户列表
     */
    List<User> selectAllUser() throws SQLException;

    /**
     * 数据访问:通过用户uid删除用户
     * @param uid 用户的id号
     */
    void deleteUserByUid(String uid) throws SQLException;

    /**
     * 管理员查询用户,通过用户id获取用户
     * @param uid  用户编号
     * @return 返回用户实体对象
     */
    User selectUserByUid(String uid) throws SQLException;

    /**
     * 数据访问接口修改用户
     * @param user 用户实体
     */
    void updateUserByUid(User user) throws SQLException;


    /**
     * 分页查询用户列表数据
     * @param curentPage 当前页码
     * @param pageSize   每页显示的条数
     * @return  返回分页列表数据
     */
    List<User> selectUserByPage(int curentPage,int pageSize) throws SQLException;


    /**
     * 查询总记录数
     * @return 实际总条数
     */
    int selectTotalCount() throws SQLException;
}
